package com.hb.G_协程.A_协程基础

/**
 * 这个示例可以使用更合乎惯用法的方式重写，使用 runBlocking 来包装 main 函数的执行：
 * */
import kotlinx.coroutines.*

/**
 * 这里的 runBlocking<Unit> { …… } 作为用来启动顶层主协程的适配器。
 * 我们显式指定了其返回类型 Unit，因为在 Kotlin 中 main 函数必须返回 Unit 类型。
 */
fun main() = runBlocking<Unit> { // 开始执行主协程，创建了一个阻塞线程的协程
    //后台创建了一个协程，不阻塞线程的协程
    GlobalScope.launch { // 在后台启动一个新的协程并继续
        delay(1000L)
        println("kotlin coroutines!")
    }
    println("Hello,") // 主协程在这里会立即执行
    delay(2000L)      // 延迟 2 秒来保证 JVM 存活
    println("world")
}

